launchButton = {
    active = false,
    x = 0,
    y = 0,
    getHeight = function ()
        return 65
    end,
    getWidth = function ()
        return 200
    end,
    text = love.graphics.newText(novaFont, "LAUNCH"),
    update = function (dt)
        if gesture.isTouching() then
            launchButton.mouseX, launchButton.mouseY = gesture.getOrigin()
        elseif launchButton.mouseX then
            if launchButton.isInside(launchButton.mouseX, launchButton.mouseY) then
                launchButton.onTouch()
            end
            launchButton.mouseX = nil
            launchButton.mouseY = nil
        end
    end,
    draw = function ()
        love.graphics.rectangle(
            'line',
            launchButton.x, 
            launchButton.y, 
            launchButton.getWidth(),
            launchButton.getHeight()
        )
        love.graphics.draw(
            launchButton.text, 
            launchButton.x + (launchButton.getWidth() - launchButton.text:getWidth())/2, 
            launchButton.y + (launchButton.getHeight() - launchButton.text:getHeight())/2
        )
    end,
    setPosition = function (x, y)
        launchButton.x = x or launchButton.x
        launchButton.y = y or launchButton.y
    end,
    isInside = function (x, y)
        return 
            x >= launchButton.x and x <= launchButton.x + launchButton.getWidth() and
            y >= launchButton.y and y <= launchButton.y + launchButton.getHeight()
    end,
    onTouch = function () end
}
